package com.easystudy.media.call;

import java.util.List;

import com.easystudy.media.error.ReturnValue;
import com.easystudy.media.model.DeviceInfo;
import com.easystudy.media.model.DeviceStatus;
import com.easystudy.media.model.HeartInfo;
import com.easystudy.media.model.RecordInfo;
import com.easystudy.media.model.StrategyInfo;

/**
 * @文件名称: Callback.java
 * @功能描述: 媒体服务器回调
 * @版权信息: www.easystudy.com
 * @技术交流: 961179337(QQ群)
 * @编写作者: lixx2048@163.com
 * @联系方式: 941415509(QQ)
 * @开发日期: 2021年6月7日
 * @历史版本: V1.0 
 * @备注信息: 
 */
public interface Callback {
	/**
	 * @功能描述: 媒体服务心跳回调
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			heartInfo: 心跳信息
	 */
	public ReturnValue<String> onHeart(String id, HeartInfo heartInfo);
	/**
	 * @功能描述: 获取媒体服务设备
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			pageIndex：分页索引
	 * 			pageSize： 分页大小
	 */
	public ReturnValue<List<DeviceInfo>> onGetDevice(String id, Long pageIndex, Long pageSize);
	/**
	 * @功能描述: 获取某设备录像策略
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			deviceId：设备编码
	 */
	public ReturnValue<StrategyInfo> onGetStrategy(String id, String deviceId);
	/**
	 * @功能描述: 更新设备封面图
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			imageInfo：设备图片
	 */
	public ReturnValue<String> onDeviceImage(String id, String deviceId, String imageUrl);
	/**
	 * @功能描述: 更新设备状态
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			status：状态列表
	 */
	public ReturnValue<String> onDeviceStatus(String id, List<DeviceStatus> status);
	/**
	 * @功能描述: 更新设备录像
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			record：录像信息
	 */
	public ReturnValue<String> onDeviceRecord(String id, RecordInfo record);
	/**
	 * @功能描述: 删除设备录像(定时)
	 * @版权信息: www.easystudy.com
	 * @编写作者: lixx2048@163.com
	 * @开发日期: 2021年5月31日
	 * @备注信息: id：媒体服务器编码
	 * 			record：录像信息
	 */
	public ReturnValue<String> onDeleteRecord(String id, RecordInfo record);
}